package com.wchen.gdoc.generate.resource.structure;

import java.util.List;

/**
 * 对象类型结构（是入参、字段、返回值的父级）
 *
 * @author  wchen
 * @date    2019/11/7
 */
public class ObjectStructure {
    /**
     * 注释
     */
    private String commentText;

    /**
     * 全限定名
     */
    private String type;

    /**
     * 类型别名
     */
    private String simpleName;

    /**
     * 泛型结构
     */
    private ObjectStructure genericType;

    /**
     * 泛型名称
     */
    private String genericTypeName;

    /**
     * 注解结构列表
     */
    private List<AnnotationStructure> annotationList;

    /**
     * 字段结构列表
     */
    private List<FieldStructure> fieldList;

    /**
     * 方法结构列表
     */
    private List<MethodStructure> methodList;

    /**
     * 父级结构（可能是 入参、返回值、字段）
     */
    private ObjectStructure parentStructure;

    public ObjectStructure getParentStructure() {
        return parentStructure;
    }

    public void setParentStructure(ObjectStructure parentStructure) {
        this.parentStructure = parentStructure;
    }

    public String getCommentText() {
        return commentText;
    }

    public void setCommentText(String commentText) {
        this.commentText = commentText;
    }

    public String getType() {
        return type;
    }

    public void setType(String type) {
        this.type = type;
    }

    public String getSimpleName() {
        return simpleName;
    }

    public void setSimpleName(String simpleName) {
        this.simpleName = simpleName;
    }

    public ObjectStructure getGenericType() {
        return genericType;
    }

    public void setGenericType(ObjectStructure genericType) {
        this.genericType = genericType;
    }

    public List<AnnotationStructure> getAnnotationList() {
        return annotationList;
    }

    public void setAnnotationList(List<AnnotationStructure> annotationList) {
        this.annotationList = annotationList;
    }

    public List<FieldStructure> getFieldList() {
        return fieldList;
    }

    public void setFieldList(List<FieldStructure> fieldList) {
        this.fieldList = fieldList;
    }

    public List<MethodStructure> getMethodList() {
        return methodList;
    }

    public void setMethodList(List<MethodStructure> methodList) {
        this.methodList = methodList;
    }

    public String getGenericTypeName() {
        return genericTypeName;
    }

    public void setGenericTypeName(String genericTypeName) {
        this.genericTypeName = genericTypeName;
    }
}
